package org.example.system.model.entity;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Data;
import org.example.system.common.base.BaseEntity;

/**
 * 车型表
 * @TableName biz_model
 */
@TableName(value ="biz_model")
@Data
public class BizModel extends BaseEntity implements Serializable {
    /**
     * 车型编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 车型名称(如：捷达VS7)
     */
    @TableField(value = "model_name")
    private String modelName;

    /**
     * 车型类型(经济型、新能源型、商务型、SUV、MPV、豪华型等)
     */
    @TableField(value = "model_type")
    private String modelType;

    /**
     * 座位数（如：5座或7座等）
     */
    @TableField(value = "seat_number")
    private Integer seatNumber;

    /**
     * 排量(如：1.5/2.0/3.0排量)
     */
    @TableField(value = "displacement")
    private String displacement;

    /**
     * 排挡（如：手动挡、自动挡）
     */
    @TableField(value = "gear")
    private String gear;

    /**
     * 燃料类型(如：纯电、汽油、插电混等)
     */
    @TableField(value = "fuel_type")
    private String fuelType;

    /**
     * 燃油标号(如：92/95/98汽油)
     */
    @TableField(value = "fuel_label")
    private String fuelLabel;

    /**
     * 每日租金
     */
    @TableField(value = "daily_rent")
    private BigDecimal dailyRent;

    /**
     * 押金金额
     */
    @TableField(value = "deposit_amount")
    private BigDecimal depositAmount;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @DateTimeFormat("yyyy/MM/dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    @DateTimeFormat("yyyy/MM/dd HH:mm:ss")
    private LocalDateTime updateTime;

    /**
     * 车型描述
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 基础服务费
     */
    @TableField(value = "service_fee")
    private BigDecimal serviceFee;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}